package com.yyh.stu;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/*创建一个HashMap对象，在其中添加一些学员的姓名和他们的分数，键为学生姓名String，值为学员分数Integer。
1、从HashMap对象中获取这些学员的成绩并输出。
2、修改学员成绩：输入要修改的学员姓名和成绩，通过循环键集合，判断是否存在该学生，如果存在更新该学生的成绩信息，如果不存在，提示查无此人，修改失败。
提示：利用键不重复的特点，修改和添加用同一个方法put(k,v)*/
public class Test2 {
    public static void main(String[] args) {
        // 创建HashMap对象，存储学员姓名和分数
        HashMap<String, Integer> studentScores = new HashMap<>();
        // 添加一些学员的姓名和他们的分数
        studentScores.put("张三", 85);
        studentScores.put("李四", 92);
        studentScores.put("王五", 78);
        studentScores.put("赵六", 65);
        studentScores.put("钱七", 88);
        // 1. 从HashMap对象中获取这些学员的成绩并输出
        System.out.println("=== 所有学员成绩 ===");
        for (Map.Entry<String, Integer> entry : studentScores.entrySet()) {
            System.out.println("姓名：" + entry.getKey() + "，成绩：" + entry.getValue());
        }
        // 2. 修改学员成绩
        Scanner scanner = new Scanner(System.in);
        System.out.println("\n=== 修改学员成绩 ===");
        System.out.print("请输入要修改的学员姓名：");
        String name = scanner.nextLine();
        System.out.print("请输入新的成绩：");
        int newScore = scanner.nextInt();
        // 通过循环键集合，判断是否存在该学生
        boolean studentExists = false;
        for (String studentName : studentScores.keySet()) {
            if (studentName.equals(name)) {
                studentExists = true;
                break;
            }
        }
        if (studentExists) {
            // 如果存在，更新该学生的成绩信息
            studentScores.put(name, newScore);
            System.out.println("修改成功！" + name + "的新成绩为：" + newScore);
        } else {
            // 如果不存在，提示查无此人，修改失败
            System.out.println("查无此人，修改失败！");
        }
        // 输出修改后的所有学员成绩
        System.out.println("\n=== 修改后的所有学员成绩 ===");
        for (Map.Entry<String, Integer> entry : studentScores.entrySet()) {
            System.out.println("姓名：" + entry.getKey() + "，成绩：" + entry.getValue());
        }

    }
}
